Caching in the .NET Stack: Inside Out

In this course we look at caching as a tool to improve your solution's performance and capacity. Using a distributed demo solution, we add caching inside the solution using a simple AOP approach, where you'll learn how to use different caches: the .NET MemoryCache, NCache Express, AppFabric Caching, and memcached. We use some custom caches based on Azure Table Storage and disk shares, and you'll see how to set up ASP.NET Output Caching to use different solution caches. You'll learn how to add caching outside the solution with HTTP response headers so consumers of your website and API can cache solution resources locally, and reduce traffic to your servers. Finally, you'll learn how to analyze items to configure them for maximum cache effectiveness, how to control items in caches, and how to measure the performance improvements you get from caching.

 
Caching in the .NET Stack: Inside OutIntroduction to Caching in the .NET StackCaching in the .NET Stack: Inside Out00:03:37 
Benefits of CachingCaching in the .NET Stack: Inside Out01:00 
Aims of the CourseCaching in the .NET Stack: Inside Out00:34 
Cost and Complexity in CachingCaching in the .NET Stack: Inside Out00:59 
Structure of the CourseCaching in the .NET Stack: Inside Out01:04 
Caching in the .NET Stack: Inside OutCaching Inside the SolutionCaching in the .NET Stack: Inside Out00:38:26 
Module IntroductionCaching in the .NET Stack: Inside Out01:05 
A Tour of The Demo SolutionCaching in the .NET Stack: Inside Out03:23 
Caching and ScalabilityCaching in the .NET Stack: Inside Out02:07 
Manually Caching Inside The SolutionCaching in the .NET Stack: Inside Out03:46 
Brief Introduction to Aspect Oriented ProgrammingCaching in the .NET Stack: Inside Out02:12 
Caching with AOPCaching in the .NET Stack: Inside Out03:11 
Recap of Caching With AOPCaching in the .NET Stack: Inside Out00:52 
A Deep Dive of The CacheCallHandlerCaching in the .NET Stack: Inside Out04:14 
Recap of The CacheCallHandlerCaching in the .NET Stack: Inside Out02:03 
Alternative Usage of AOPCaching in the .NET Stack: Inside Out05:14 
A Decision Matrix for Cache ItemsCaching in the .NET Stack: Inside Out02:38 
Applying The Matrix to Items in The Demo SolutionCaching in the .NET Stack: Inside Out05:20 
Module SummaryCaching in the .NET Stack: Inside Out02:21 
Caching in the .NET Stack: Inside OutSolution Cache: Local StoresCaching in the .NET Stack: Inside Out00:35:46 
Introduction to Local Cache StoresCaching in the .NET Stack: Inside Out03:31 
Abstracting The Store With ICacheCaching in the .NET Stack: Inside Out03:00 
.NET MemoryCache: Usage DemoCaching in the .NET Stack: Inside Out05:54 
.NET MemoryCache: AnalysisCaching in the .NET Stack: Inside Out04:36 
NCache Express: Usage DemoCaching in the .NET Stack: Inside Out04:44 
NCache Express: AnalysisCaching in the .NET Stack: Inside Out02:41 
AppFabric Caching: Usage DemoCaching in the .NET Stack: Inside Out05:59 
AppFabric Caching: AnalysisCaching in the .NET Stack: Inside Out02:49 
The NullCache and Module SummaryCaching in the .NET Stack: Inside Out02:32 
Caching in the .NET Stack: Inside OutSolution Cache: Remote StoresCaching in the .NET Stack: Inside Out00:31:36 
Introduction to Remote Cache StoresCaching in the .NET Stack: Inside Out04:24 
Memcached: Usage DemoCaching in the .NET Stack: Inside Out04:07 
Memcached: AnalysisCaching in the .NET Stack: Inside Out02:43 
Azure Table Storage: Usage DemoCaching in the .NET Stack: Inside Out04:18 
Azure Table Storage: AnalysisCaching in the .NET Stack: Inside Out04:11 
Disk Cache: Usage DemoCaching in the .NET Stack: Inside Out04:01 
Disk Cache: AnalysisCaching in the .NET Stack: Inside Out02:46 
Applying The Decision MatrixCaching in the .NET Stack: Inside Out05:06 
Caching in the .NET Stack: Inside OutControlling Items in the Solution CacheCaching in the .NET Stack: Inside Out00:27:50 
Introduction and Adding Items to CacheCaching in the .NET Stack: Inside Out02:15 
Adding Items: DemoCaching in the .NET Stack: Inside Out02:19 
Removing Cache Items ManuallyCaching in the .NET Stack: Inside Out05:02 
Removing Cache Items AutomaticallyCaching in the .NET Stack: Inside Out03:49 
Cache Expiration: DemoCaching in the .NET Stack: Inside Out02:32 
Cache Expiration: AnalysisCaching in the .NET Stack: Inside Out01:43 
Disabling The Cache: DemoCaching in the .NET Stack: Inside Out01:46 
Disabling The Cache: AnalysisCaching in the .NET Stack: Inside Out02:08 
Preloading The Cache: DemoCaching in the .NET Stack: Inside Out03:00 
Preloading The Cache: AnalysisCaching in the .NET Stack: Inside Out03:16 
Caching in the .NET Stack: Inside OutASP.NET Output CachingCaching in the .NET Stack: Inside Out00:24:31 
Introduction to ASP.NET Output CachingCaching in the .NET Stack: Inside Out03:41 
ASP.NET Output Caching: DemoCaching in the .NET Stack: Inside Out06:07 
Output Caching With A Solution CacheCaching in the .NET Stack: Inside Out02:29 
OutputCacheProvider With Solution Cache: DemoCaching in the .NET Stack: Inside Out06:53 
Choosing A Solution Cache for Output CachingCaching in the .NET Stack: Inside Out05:21 
Caching in the .NET Stack: Inside OutCaching Outside the SolutionCaching in the .NET Stack: Inside Out00:32:38 
Caching Outside The SolutionCaching in the .NET Stack: Inside Out04:12 
Caching in HTTP TransactionsCaching in the .NET Stack: Inside Out04:12 
HTTP Validation CachingCaching in the .NET Stack: Inside Out02:17 
Validation Caching: Web DemoCaching in the .NET Stack: Inside Out04:44 
Validation Caching: Services DemoCaching in the .NET Stack: Inside Out05:22 
HTTP Expiration CachingCaching in the .NET Stack: Inside Out04:18 
Expiration Caching: DemoCaching in the .NET Stack: Inside Out04:33 
Combining Expiration and Validation CachingCaching in the .NET Stack: Inside Out03:00 
Caching in the .NET Stack: Inside OutConsiderations for Client CachesCaching in the .NET Stack: Inside Out00:36:06 
Considerations for Client CachesCaching in the .NET Stack: Inside Out05:12 
The Vary Response Header: DemoCaching in the .NET Stack: Inside Out03:24 
Consuming API Calls with jQuery and AJAXCaching in the .NET Stack: Inside Out04:43 
jQuery and AJAX: DemoCaching in the .NET Stack: Inside Out03:43 
Cross-Domain RequestsCaching in the .NET Stack: Inside Out03:25 
JSONP: DemoCaching in the .NET Stack: Inside Out05:22 
Cross-Origin Resource SharingCaching in the .NET Stack: Inside Out02:46 
CORS: DemoCaching in the .NET Stack: Inside Out03:44 
SummaryCaching in the .NET Stack: Inside Out03:47 
Caching in the .NET Stack: Inside OutControlling items in Client CachesCaching in the .NET Stack: Inside Out00:26:16 
Public and Private Client CachesCaching in the .NET Stack: Inside Out02:54 
Decision Matrix Applied to Client CachesCaching in the .NET Stack: Inside Out02:57 
Demo: Using Squid as A Caching ProxyCaching in the .NET Stack: Inside Out03:38 
Analysis: Caching ProxiesCaching in the .NET Stack: Inside Out02:41 
The Cache-Control HTTP HeaderCaching in the .NET Stack: Inside Out02:57 
Demo: Using Cache-ControlCaching in the .NET Stack: Inside Out05:53 
Cache-Busting TechniquesCaching in the .NET Stack: Inside Out05:16 
Caching in the .NET Stack: Inside OutMeasuring Performance ImprovementsCaching in the .NET Stack: Inside Out00:23:50 
Measuring to Enable Inspect and AdaptCaching in the .NET Stack: Inside Out03:10 
Verifying the Cache Works with Unit TestsCaching in the .NET Stack: Inside Out04:05 
Verifying Features Work with Integration TestsCaching in the .NET Stack: Inside Out03:16 
Measuring Speed and Capacity with Performance TestsCaching in the .NET Stack: Inside Out02:54 
Performance Improvements in the Demo SolutionCaching in the .NET Stack: Inside Out04:07 
Instrumenting Caches with Performance CountersCaching in the .NET Stack: Inside Out03:12 
Checking Runtime Performance with PerfmonCaching in the .NET Stack: Inside Out03:06 
Caching in the .NET Stack: Inside OutCourse SummaryCaching in the .NET Stack: Inside Out00:05:10 
Caching GuidelinesCaching in the .NET Stack: Inside Out02:54 
Course SummaryCaching in the .NET Stack: Inside Out02:16